专利摘要:

公开号:NL2008690A
申请号:NL2008690
申请日:2012-04-24
公开日:2012-10-29
发明作者:Shiro Kadowaki;Fabrice Caillette
申请人:Google Inc;
IPC主号:
专利说明:

Title: DYNAMIC HIGHLIGHTING OF GEOGRAPHIC ENTITIES ON
ELECTRONIC MAPS
BACKGROUND
This specification relates to performing dynamic highlighting of geographic entities on electronic maps.
Online mapping utilities provide a convenient resource to view maps of selected geographic areas and to navigate to different levels of detail (e.g., by zooming in or out) and to different geographic areas (e.g., by panning). In some cases, users can select types of features (e.g., terrain, labels, traffic) that are shown on the map. In addition, users may be able to place markers (e.g., waypoints) on a map, draw lines (e.g., routes) on the map, or associate photos or other information with a location on a map. Online map search tools allow users to search for a location or a business and display a map of an area around the location or business. In some cases, a map displayed in response to a search request includes a pin or other marker that shows a location of the location or business that is responsive to the search request. Various map tools also provide mechanisms for overlaying routes (e.g., from a user-selected origination location to a user-selected destination location) or other graphical information on a map.
SUMMARY
This specification describes technologies relating to dynamically highlighting a boundary or extent of a geographic entity. For example, in response to a search query from a user device, a server can identify a geographic entity that is the subject of the search. Based on the identification, data defining a boundary or extent of the geographic entity can be retrieved for use in highlighting the geographic entity on a map. A map segment that includes the geographic entity can be rendered using map layer data and the data defining the boundary of the geographic entity, and at least some of the map layer data can be rendered over the boundary of the geographic entity.
In general, one innovative aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving, at a server, a request from a client device for an electronic map segment for a geographic region, wherein the request includes an identification of a geographic entity to be highlighted in the requested electronic map segment; retrieving, from one or more content databases, a plurality of layers of map data associated with the geographic region in response to the request for the electronic map segment; retrieving, from one or more geographic entity databases, data defining a boundary of the geographic entity in response to the identification of a geographic entity to be highlighted in the requested electronic map segment; rendering the electronic map segment based on the retrieved plurality of layers of map data and the data defining the boundary of the geographic entity, wherein one or more of the retrieved plurality of layers are rendered over a rendering of a highlighted boundary of the geographic entity; and transmitting the rendered electronic map segment to the client device in response to the request. Other embodiments of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other embodiments can each optionally include one or more of the following features. A search request that identifies the geographic entity is received, wherein the search request includes the request for an electronic map segment for a geographic region that includes the geographic entity, and highlighting the geographic entity is performed based on an inclusion of the identification of the geographic entity in the search request. A search request that identifies the geographic entity is received, the geographic region that includes the geographic entity is identified in response to the search request, and the identification of the geographic entity to be highlighted in the requested electronic map segment is generated in response to the search request. A set of one or more search results is generated in response to the search query, an identification of a geographic region associated with each search result is generated, and the set of one or more search results and the identification of the associated geographic region are sent to the client device. The request for the electronic map segment for the geographic region is received from the client device in response to at least sending the set of one or more search results and the identification of the associated geographic region to the client device. The request for the electronic map segment for the geographic region is received from the client device in further response to a selection at the client device of a particular search result.
A first search request that identifies the geographic entity is received, wherein the identification of the geographic entity to be highlighted in the requested electronic map segment is based on the identification of the geographic entity in the first search request and highlighting the geographic entity is performed based on the inclusion of the identification of the geographic entity in the first search request. A second search request relating to a geographic region that includes at least a portion of the geographic entity is received, wherein the second search request does not include an identification of the geographic entity, and a plurality of layers of map data associated with the geographic region that includes at least a portion of the geographic entity in response to at least the second search request are retrieved from the one or more content databases. A second electronic map segment is rendered based on the retrieved plurality of layers of map data, wherein the second electronic map segment does not include a highlighted boundary of the geographic entity, and the rendered second electronic map segment is transmitted to the client device in response to at least the second search request. The identification of a geographic entity to be highlighted in the requested electronic map segment is included in the request in response to a selection at the client device of an option to include highlighting of searched geographic features. The data defining a boundary of the geographic entity includes data indicating an imprecise boundary, and the rendering of the highlighted boundary of the geographic entity represents a fuzzy boundary.
The rendered electronic map segment includes a plurality of map tiles, and a resource name is assigned to each of the plurality of map tiles, wherein the resource name for the map tiles that include at least a portion of the rendering of the highlighted boundary of the geographic entity distinguishes the map tile from a map tile having a corresponding geographic scope without the highlighted boundary of the geographic entity. The plurality of the map tiles are cached, and a second request for an electronic map segment for the geographic region is received, wherein the second request does not include an identification of a geographic entity to be highlighted in the requested electronic map segment. A subset of the cached map tiles is identified, wherein the subset includes map tiles that do not include a rendering of the highlighted boundary of the geographic entity, map tiles that do not include a rendering of the highlighted boundary of the geographic entity corresponding to the cached map tiles for the geographic region that include a rendering of the highlighted boundary of the geographic entity are retrieve, and the cached map tiles in the identified subset and the retrieved map tiles are presented to provide the requested electronic map segment. The rendering of the highlighted boundary of the geographic entity includes at least one of an outline of an area corresponding to the geographic entity on the electronic map segment or a fill of an area corresponding to the geographic entity on the electronic map segment. The rendering of the highlighted boundary of the geographic entity includes an outline of edges of a road. The retrieved plurality of layers that are rendered over a rendering of a highlighted boundary of the geographic entity include at least one of labels, roads, icons, or geographic features.
In general, another aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving a request for an electronic map segment for a geographic region, wherein the request includes an identification of a geographic entity identified based on a search request for the geographic entity submitted from a client device; retrieving, in response to the request for the electronic map segment, a plurality of layers of map data associated with the geographic region and data defining a boundary of the geographic entity; rendering the electronic map segment based on the retrieved plurality of layers of map data and the data defining the boundary of the geographic entity, wherein one or more of the retrieved plurality of layers are rendered over a rendering of a highlighted boundary of the geographic entity; and transmitting the rendered electronic map segment in response to the request.
These and other embodiments can each optionally include one or more of the following features. The rendering of the highlighted boundary of the geographic entity has a different appearance in the rendered electronic map segment than renderings of the plurality of layers of map data. One or more uniform resource locators identifying the geographic region are received, including the identification of the geographic entity, and indicating that a boundary of the geographic entity is to be highlighted, and the one or more uniform resource locators are interpreted to identify the geographic region, the plurality of layers of map data, and the geographic entity. The one or more uniform resource locators are generated in response to a search request identifying the geographic entity. A second request for a second electronic map segment for a second geographic region that includes at least a portion of the geographic entity is received, wherein the second geographic region is identified based on a search request submitted from a cliënt device, andm in response to the second request for the second electronic map segment, a plurality of layers of map data associated with the geographic region are retrieved. The second electronic map segment is rendered based on the retrieved plurality of layers of map data without rendering a highlighted boundary of the geographic entity, and the rendered second electronic map segment is transmitted in response to the second request. The geographic entity includes a first geographic entity, and a second request for a second electronic map segment for a second geographic region that includes at least a portion of the first geographic entity is received, wherein the second request includes an identification of a second geographic entity identified based on a search request for the second geographic entity submitted from a client device. In response to the second request for the second electronic map segment, a plurality of layers of map data associated with the second geographic region and data defining a boundary of the second geographic entity are retrieved. The second electronic map segment is rendered based on the retrieved plurality of layers of map data and the data defining the boundary of the second geographic entity, wherein one or more of the retrieved plurality of layers are rendered over a rendering of a highlighted boundary of the second geographic entity without rendering a highlighted boundary of the first geographic entity, and the rendered second electronic map segment is transmitted in response to the second request. The rendering of the highlighted boundary of the geographic entity represents a fuzzy boundary for the geographic entity.
In general, another aspect of the subject matter described in this specification can be embodied in systems that include one or more map request interpretation servers, one or more map rendering servers, and one or more map front end servers. The one or more map request interpretation servers are adapted to receive a map request for an electronic map segment for a geographic region, wherein the map request includes an identification of a geographic entity identified based on a search request related to the geographic entity submitted from a user device, and request retrieval, in response to the map request for the electronic map segment, a plurality of layers of map data associated with the geographic region and data defining a boundary of the geographic entity. The one or more map rendering servers are adapted to render the electronic map segment based on the retrieved plurality of layers of map data and the boundary of the geographic entity, wherein one or more of the retrieved plurality of layers are rendered over a rendering of a highlighted boundary of the geographic entity. The one or more map front end servers are adapted to transmit the rendered electronic map segment in response to the map request.
These and other embodiments can each optionally include one or more of the following features. The system can include one or more map search servers adapted to receive the search request for the geographic entity submitted from a user device, identify a geographic region associated with the geographic entity in response to the search request, and generate the identification of the geographic entity in response to the search request. The one or more map search servers are further adapted to generate a uniform resource locator including the identification of the geographic region and the identification of the geographic entity. A user device is adapted to display the rendered electronic map segment. The user device is further adapted to transmit the map request to the map request interpretation server in response to receiving the uniform resource locator. The user device is further adapted to initiate the search request.
Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. The boundary or extent of a particular geographic entity can be displayed on a user interface. Users may be able to readily determine, for example, whether a particular location falls within the boundary of a specific geographic entity or the size and shape of a particular geographic entity. The boundary can be displayed in response to a search request that identifies or relates to the geographic entity and/or can be displayed in a manner that distinguishes the appearance of the boundary from other features displayed on an electronic map. An electronic map that includes the boundary can be rendered dynamically, and the highlighting of the boundary can be rendered so that it does not obscure other features (e.g., labels, streets, important geographic features, or icons) included on a map. Maps or map tiles that include highlighted boundaries can use resource names (e.g., uniform resource identifiers) that indicate that the map or map tile includes highlighting and/or an identification of the entity that is highlighted, which can facilitate re-use of the map or map tile (e.g., from a cache) if highlighting is desired or can help indicate that a non-highlighted version of the map or map tile needs to be retrieved or generated if the same highlighting is not desired. Different styles of highlighting can be used depending on whether the boundaries are concrete or are less definitive. Different styles can also be applied according to the particular context (e.g., thicker highlighting can be used when a map is zoomed out so that relative location to other entities is easier to recognize, paler highlighting can be used when map is zoomed in so that highlighting does not interfere with map details, changing layer levels to place the highlighting so it less interfering, or using different style for different map styles).
The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an electronic map generation system.
FIG. 2 is a conceptual diagram of a process for rendering map layers and boundary highlighting to generate an electronic map segment.
FIGS. 3A-3E illustrate an example of a rendering sequence for an electronic map.
FIG. 4 is an illustrative example of a highlighted boundary for a geographic entity in a more detailed electronic map segment.
FIG. 5 is another illustrative example of a highlighted boundary for a geographic entity in a more detailed electronic map segment.
FIG. 6 is a flow diagram of a process for dynamically generating an electronic map segment with a highlighted boundary.
FIG. 7 is a flow diagram of a process for using both map segments that include highlighted boundaries and map segments that do not include highlighted boundaries.
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
FIG. 1 is a block diagram of an electronic map generation system 100. The system 100 can be used for dynamically generating highlighted boundaries on a dynamically generated electronic map segment. The system 100 includes user devices 102, a search system 110, and a map generation server 120. The user devices 102 are capable of communicating over a network 104 (e.g., the Internet or other wide area network, a local area network, a cellular network, any other network capable of carrying electronic data, or any combination thereof) with the search system 110 to initiate search queries and receive search results. In addition, the user devices 102 can also communicate over the network 104 with the map generation server 120 to request and receive electronic map segments. In some embodiments, the search system 110 and the map generation server 120 can be implemented in the same physical servers, although the actions performed by the search system 110 and the map generation server 120 may be performed by different modules and/or different virtual machines. Moreover, although the map generation server 120 is depicted as a single server, the map generation server 120 may be implemented across multiple servers in a server farm or across multiple server farms that cooperate to perform the operations of the map generation server 120.
Generally, electronic maps are not retrieved in their entirety, at least not when the available electronic map includes a large amount of detail and/or covers a large geographic area that can be viewed at varying zoom levels. Rather, electronic maps are generated in segments according to parameters provided by the user devices and/or the search system 110.
An electronic map segment may include multiple electronic map tiles, with each map tile being rendered independently of neighboring tiles, and the size and zoom level of the map segment may be selected based on the size of the geographic entity (e.g., neighborhood, city, state), the size or shape of the display on which the electronic map segment is to be displayed, and/or other parameters (e.g., a desired number of initially hidden map tiles to be provided in case the user pans or zooms). The map tiles can be embodied in electronic documents. An electronic document (which for brevity will simply be referred to as a document) may, but need not, correspond to a file. A document may be stored in a portion of a file that holds other documents, in a single file dedicated to the document in question, or in multiple coordinated files.
The user devices 102 can include, for example, personal computers 102a and 102b, personal digital assistants 102c, mobile phones 102d, or other types of devices (e.g., tablet computers) capable of communicating over a network 104 and displaying electronic maps to a user. Generally, the user devices 102 include a display 130, a processor 132, a memory 134, and a user input interface 136. Users can enter search queries or other parameters using the user input interface 136 to initiate retrieval of search results or electronic map segments. For example, the user input interface 136 may be used to type a search query into a search field in a web page displayed on the display 130. The web page may be stored in the memory 134 and displayed on the display 130 in accordance with instructions executed by the processor 132. The memory 134 may also store instructions that, when executed by the processor 132, cause the user device 102 to transmit search requests to the search system 110, display received search results, request electronic map segments (e.g., based on user input or on data received from the search system 110), and display received electronic map segments. In some cases, the user device 102 can automatically request (e.g., using scripts or other instructions) electronic map tiles identified in a search result returned by the search system 110.
The memory 134 may also store cached electronic map tiles.
Scripts (e.g., JavaScript®) or other instructions can be used to manage the cache such that received electronic map tiles are stored in the cache (e.g., during a session, for some other predetermined period of time, or until the cache reaches a size threshold) and can be retrieved from the cache rather than requesting them from the map generation server 120 (e.g., when a user pans away from an area and then pans back to the same area). The search system 110 and/or the map generation server 120 can assign unique uniform resource locators (URLs) to the map tiles. The URLs can be used by the user device 102 to identify, to the map generation server 120, specific map tiles that are needed. The URLs can also be used to catalog map tiles that are stored in the cache such that when a particular map tile is needed, the user device 102 can first check the local cache to determine if the map tiles has already been retrieved. If so, the local copy of the map tile can be used. If not, the user device 102 can request the map tile from the map generation server 120. In some implementations, map tiles may similarly be cached at the server level so that frequently used map tiles need not be repeatedly generated by the map generation server 120.
The search system 110 can receive search requests from user devices 102 at a search engine front end 112. The search system 110 can be implemented across a large number of modules and/or servers, which may further be geographically distributed in multiple server farms. In some embodiments, the search system 110 may be designed to handle numerous different types of search requests (e.g., general web searches and map searches) although such search requests may be submitted using different web pages or web interfaces. In such embodiments, the search engine front end 112 may be responsible for routing the search request to the appropriate modules or servers according to the type of search request. In other embodiments, the search system may be focused on a particular type of search request (e.g., a map search), and the search engine front end 112 may perform pre-processing (e.g., separating the search request into component parts or re-sequencing or normalizing the search request) and/or determine how to route the request or component parts of the request.
The search system 110 may determine if a received search request is for a specific location or entity using location data stored in one or more entity databases 140. For example, the received search query may be compared against known entities to identify one or more possible entities responsive to the search query. Although the search system 110 may be capable of identifying virtual entities (e.g., web sites or businesses independent of their physical location or locations), the entity databases are generally used in support of the techniques described in this specification to identify physical locations of entities. In some cases, the search system 110 may identify a virtual entity and then determine if the virtual entity has a corresponding physical presence (e.g., near a user’s current location if the user permits location data to be provided to the search system 110, or near a location of a map currently displayed on the user device 102 when the user submits the search query).
The search system 110 includes a search result generation module 114, which again may be implemented across a large number of servers. If one or more entities are identified as being responsive to the search query, the search result generation module 114 can retrieve data from a geographic entity database 145 that provides data about the entity at a particular location. The geographic entity data can include, for example, data indicating a physical location of the entity (e.g., an approximate center of the entity), a physical size of the entity (e.g., how far the outer boundaries of the entity are from the entity center), a preferred map segment and zoom level to display for the entity, and/or a URL or other identifier associated with a preferred map segment for the entity. In some cases, the search result generation module 114 may generate an appropriate URL based, for example, on the location of the entity and physical size of the entity, or the URL can be dynamically generated by client module (e.g., using JavaScript®) based on information returned by the search result generation module 114 and/or the user’s behavior (e.g., pan, zoom, etc). The URL can include an identification of the entity and an indication that the boundary of the entity is to be highlighted in an electronic map segment provided in response to the search query or in response to a selection of a search result for the search query. Moreover, the URL may be generated based on the type of map (e.g., plain map, terrain map, satellite map, or combination) to be provided and on user-selected options for features to be included on the map segment. Thus, the URL can include data that can be parsed and interpreted to dynamically generate an electronic map segment that includes features desired by the user and that includes highlighting of the border of the particular geographic entity. The inclusion of data indicating that such border highlighting should be included can be based on the nature of the search request (e.g., a search request for the specific entity to be highlighted) and/or on user-selected preferences that indicate whether entity highlighting is desired. The search result generation module 114 can also perform other operations, e.g., generating a web page that includes a list of the search results.
Once the search results generation module 114 has generated one or more search results, the search system 110 transmits the search result or results to the user device 102. In some cases, the search result can be a single geographic entity (e.g., for a map search with a high confidence level in a particular result) or the set of search results can be limited to a single map result (e.g., for a general search that has a relatively high likelihood of being an entity location search). In other cases, the search results can include multiple geographic entities, each of which may have a different associated URL for use in retrieving a highlighted map segment.
After receiving the search result or results, the user device 102 can automatically send a request (e.g., using a script incorporated in the search results web page) to the map generation server 120 to retrieve the electronic map segment. Alternatively, retrieval of the map segment may be initiated upon selection of a particular search result by the user. As another alternative, a thumbnail or other small map segment may be requested automatically for one or more search results, and, if the user selects the thumbnail or small map segment or a link associated with the corresponding search result, a larger electronic map segment can be retrieved. In yet another alternative embodiment, an electronic map segment can be retrieved prior to sending the search result or results to the user device 102. In such a case, the search system 110 can interact directly with the map generation server 120 and the search result or results can include the electronic map segment. While such a technique may simplify the operations (e.g., scripting) performed at the user device 102, it can also introduce delay in sending results to the user device 102.
The map generation server 120 receives requests to generate an electronic map segment at a map front end module 122, which may handle receiving map requests and sending responsive maps to the requesting user device 102. The map front end module 122 can pass the request along to a map request interpretation module 124. The map request interpretation module 124 can parse the request (e.g., by separating out different fields in a received URL that identifies the requested map segment or a received plurality of URLs that describe the requested map tiles that make up the map segment) and can interpret the parsed information to determine what map data is needed to generate the requested map segment. For example, the map request interpretation module 124 can determine the type of base map data is needed (e.g., plain map, terrain, and/or satellite imagery), the general location and zoom level within the universe of available map data (e.g., by identifying particular tiles, an area between or including specific geographic coordinates, a center point and zoom level, etc.), map layers needed, whether highlighting is to be applied, and/or the entity to be highlighted. The identification of map data can be passed to a map layering module 126, which retrieves the appropriate map layer data from one or more map layer databases 150. For example, the map layer databases 150 can store data including base map data, roads, terrain, geographic features, municipalities, labels, icons, satellite imagery, traffic data, photos, usergenerated content, etc. The map layering module 126 can also retrieve data defining the boundary of the geographic entity to be highlighted from a boundary database 155, which can store, for example, polygon and/or polyline information corresponding to various geographic entities (e.g., city, county, or other administrative division; street; school district; neighborhood; province; state; zip code area; building; campus; etc.). In some instances, the boundary data can include multiple segments and/or can define multiple non-contiguous areas (e.g., for a campus, municipality, or country that includes non-contiguous physical locations). The boundary data can also include data indicating that some or all of the boundary is imprecise (e.g., for a neighborhood) and/or a degree of imprecision.
The map layer data and boundary data are used by a map rendering module 128 to generate the requested electronic map segment. In some implementations, the layers can be rendered in a relative sequence to prevent information in certain layers (e.g., labels or roadways) from being obscured. Thus, the boundary highlighting can be rendered behind other layers. Rendering in a relative sequence need can be done either temporally (e.g., by rendering each layer on top of the prior layer in a specific sequence) or in a relative positional sequence without regard for the temporal sequence (e.g., by selectively rendering certain layers behind or in front of other layers). The requested electronic map segment can thus be dynamically rendered to provide selective boundary highlighting of a geographic entity that was the subject of a search request or that is otherwise identified as being of particular interest for display to the user. The boundary highlighting can include any type of visual features (e.g., solid, dashed, and/or colored boundary lines, semi-transparent fill or shading, fill patterns, etc.) that tends to distinguish the boundaries and/or extent of the geographic entity from other parts of the map segment. Boundary highlighting for imprecise boundaries can use fuzzy boundaries (e.g., boundaries that do not include distinct edges or that gradually fade in a particular direction). In addition, data indicating the degree of imprecision for a boundary can be used to modify the fuzziness of the boundary (e.g., how quickly the boundary fades).
The rendered electronic map segment can then be transmitted back to the requesting user device 102 by the map front end module 122 for presentation on a display 130 of the user device 102. In some implementations the map front end module 122, the map request interpretation module 124, the map layering module 126, and the map rendering module 128 can be implemented in different servers and/or in a virtual computing environment.
FIG. 2 is a conceptual diagram of a process 200 for rendering map layers and boundary highlighting to generate an electronic map segment 230. In this illustrative example, map layers including base map data 202, shading (or color) data 204, boundary data 206, street data 208, and map label data 210 are provided to a rendering engine 220, which renders the various layers in a particular positional sequence (e.g., to prevent information, graphics, or images in certain layers from obscuring information, graphics, or images in other layers). The positional sequence can be predetermined but can also vary depending on the type of map, user preferences, user selections, and/or the combination of layers that are included in a particular map segment. The rendering engine 220 outputs an electronic map segment 230 that can include boundary highlighting generated in a manner such that the map is customized according to the particular search query submitted by the user. In other words, different map segments (i.e., with different highlighted geographic entities) can be generated for a particular geographic area dynamically.
FIGS. 3A-3E illustrate an example of a rendering sequence for an electronic map 300. The rendering sequence is intended for illustrative purposes and does not include full map details. Moreover, different temporal sequences of rendering the map layers can be used to achieve the same end result (e.g., relative positional sequence of the map layers). FIG. 3A depicts an illustrative example of a base map layer 302 that includes a shoreline 320, park boundaries 322, and lake boundaries 324. FIG. 3B depicts an illustrative example of a map shading layer 304 overlaying the base map layer 302. The map shading layer 304 includes first shading or coloring 330 for parks and second shading or coloring 332 for lakes. The map shading layer 304 can also include additional shading or coloring for other land areas 334 and surrounding water 336, although such shading or coloring is not shown in FIG. 3B for convenience. FIG. 3C depicts an illustrative example of an entity boundary layer 306 overlaying the map shading layer 304. The entity boundary layer 306 includes a highlighted boundary 340 for a selected geographic entity (e.g., a neighborhood, such as the so-called SoMa or South of Market neighborhood in San Franscisco).
FIG. 3D depicts an illustrative example of a roads layer 308 overlaying the entity boundary layer 306. The roads layer 308 includes various major roadways 350. Although only a few roadways are shown for convenience, a typical map at a city zoom level may include numerous roads. In this example, the roads partially obscure the geographic entity boundary 340, although in some implementations, the boundary 340 can be depicted such that the location of the boundary can still be determined despite the partial obstruction (e.g., using a semi-transparent fill or using boundary lines that are adjacent to the potentially obscuring roadway graphics). FIG. 3E depicts an illustrative example of a labels layer 310 overlaying the roads layer 308. The labels layer 308 includes roadway labels 360 and geographic location labels 362 that further partially obscure graphics in underlying layers, including the geographic entity boundary 340.
FIG. 4 is an illustrative example of a highlighted boundary 405 for a geographic entity in a more detailed electronic map segment 400. In this example, the highlighted boundary 405 includes a colored outline and a semi-transparent fill, both of which differentiate the extent of the selected geographic entity (i.e., Switzerland) from other areas shown on the map segment without obscuring at least the geographic labels on the map segment.
FIG. 5 is another illustrative example of a highlighted boundary 505 for a geographic entity in a more detailed electronic map segment 500. In this example, the highlighted boundary 505 indicates the extent of a road (i.e., the entire length of a particular roadway, e.g., before it changes to a different name, dead-ends, or meets another roadway). The highlighted boundary 505 includes a colored outline that differentiates the extent of the selected geographic entity (i.e., Homestead Road) from other roads and areas shown on the map segment. Again, the highlighted boundary 505 does not obscure either the graphics for the roadway itself or the associated labels.
FIG. 6 is a flow diagram of a process 600 for dynamically generating an electronic map segment with a highlighted boundary. The process 600 includes receiving a search request that relates to a geographic entity at 602. The search request can be determined to relate to the geographic entity based on including the entity name or a shorthand version of the entity name and/or based on a likelihood that the geographic entity is what is intended (e.g., based on the general location from which the search request originates and/or based on relative popularity of similar named places). The search request can be interpreted as being, implicitly, a request for an electronic map segment that includes the geographic entity based on the type of search web page used to submit the search request (e.g., a search within a map search field can be implicitly interpreted as a request to retrieve the map). Alternatively, the search request (e.g., in a general web search web page) can be interpreted such that one possible result is an electronic map of the geographic entity.
One or more search results are generated at 604 in response to the search query, at least one of which includes the geographic entity. A general geographic region or area that includes the geographic entity is identified at 606. The identification of the region or area can be based on a central location within the geographic entity and on an extent to which the entity expands from the central location. Based on the identified general geographic region or area, parameters defining a map segment to be retrieved can be determined at 608. The parameters can define, for example, a plurality of map tiles needed to cover the region or area, an appropriate zoom level for a map that displays the geographic entity (e.g., such that all or most of the full extent of the entity is included within a displayed map segment), and/or geographic coordinates for the outer edges of the desired map segment.
A request for an electronic map segment is generated and sent at 610. The request includes an indication that the requested map segment is to include boundary highlighting and an identification of the geographic entity to be highlighted in the requested map segment. For example, such information can be included along with the parameters defining the map segment in the form of one or more resource identifiers (e.g., URLs).
Multiple layers of map data associated with the identified region or area and with the requested map segment are retrieved at 612. For example, the map data layers that are needed can be determined based on the parameters included in the request to generate a map segment. Data defining a boundary of the identified geographic entity is also retrieved at 614. The electronic map segment is rendered at 616 using the retrieved map data layers and the geographic entity boundary data. In addition, the rendering can be performed such that one or more of the retrieved layers (e.g., labels, roads, icons, and/or geographic features) are rendered over the rendering of the highlighted boundary for the geographic entity. The rendered map segment can then be transmitted (e.g., to a requesting user device) in response to the electronic map segment request at 618.
FIG. 7 is a flow diagram of a process 700 for using both map segments that include highlighted boundaries and map segments that do not include highlighted boundaries. The process 700 includes receiving a plurality of map tiles at 702 and caching the map tiles at 704. The plurality of map tiles can include some map tiles that include boundary highlighting and other map tiles that do not include boundary highlighting (e.g., areas of the map segment that do not include any of the geographic entity having a highlighted boundary). Subsequently, at 706, a request for a new map segment that includes at least some overlap with the plurality of map tiles cached at 704 is received. The request does not include an indication that the same geographic entity is to be highlighted. For example, the request can indicate that a different geographic entity should be highlighted or that no highlighting should be included.
Based on the request, one or more map tiles in the cache are identified at 708 for use in rendering the new map segment. For example, the map tiles that can be reused may be identified based on a match between resource identifiers for map tiles included in the request and resource identifiers for map tiles stored in the cache. In addition, one or more map tiles that need to be generated are identified at 710. For example, although the cache may include map tiles that cover the same area, the cached map tiles may include highlighted boundaries that are not desired in the new map segment. The need for generating the map tiles, despite covering the same area as some of the cached map tiles, can be identified based on differences in the resource identifiers between resource identifiers for map tiles included in the request (e.g., indicating no highlighting or highlighting of a different entity) and resource identifiers for map tiles stored in the cache (e.g., indicating highlighting of the original entity). A request to generate the new map tiles can be sent at 712, and the dynamically generated map tiles can be received in response at 714. The newly generated map tiles and the selected cached map tiles can then be presented on a display at 716 in response to the request.
Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them.
Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
Devices suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s client device in response to requests received from the web browser.
Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous. Servers may provide geographic information (polygon, polyline, label location and text) to a client device, and map rendering may be performed on the client device. Alternatively, geographic information can be stored in local storage, such as CD/DVD-ROM, hard disk drive, or USB drive, and information retrieval, processing, and map rendering can be done on the client device, in which case no network connection is required. The map rendering module may return multiple layer images to client device, where those images are overlaid to obtain a final map image with highlighted boundaries.
Text associated with the drawings 104 Network 110 Search System 112 Search Engine Front End 114 Search Result Generation Module 120 Map Generation Server 122 Map Front End Module 124 Map Request Interpretation Module 126 Map Layering Module 128 Map Rendering Module 130 Display 132 Processor 134 Memory 136 User Input Interface 140 Location Data 145 Geographic Entity Data 150 Map Layer Data 155 Boundary Data 202 Base Map Data 204 Shading Data 206 Boundary Data 208 Street Data 210 Map Labels 220 Rendering Engine 230 Map Tile 362 San Francisco 602 Receive a search query relating to a geographic entity 604 Generate search results in response to the search query 606 Identify a geographic area that includes the geographic entity 608 Determine parameters defining a map segment to be retrieved 610 Generate a request for an electronic map segment 612 Retrieve map layer data for map segment 614 Retrieve geographic entity boundary data 616 Render electronic map segment based on map layer data and entity boundary data 618 Transmit rendered electronic map segment in response to request 702 Receive map tiles including tiles with and without highlighted boundaries 704 Cache received map tiles 706 Receive request for new map segment overlapping cached map tiles 708 Identify reusable cached map tiles 710 Identify map tiles to be generated 712 Send request to dynamically generate new map tiles 714 Receive dynamically generated new map tiles 716 Present new map tiles and selected cached map tiles on user interface
权利要求:
Claims (25)
[1]
A method performed by a data processing apparatus, the method comprising: at a server, receiving a request from an electronic map segment client device for a geographic region, the request including an identification of a geographic entity that will be highlighted in the requested electronic chart segment; from one or more content databases, retrieve a plurality of map data layers associated with the geographic region in response to the request for the electronic map segment; from one or more geographical entity databases, retrieve data defining a boundary of the geographical entity in response to the identification of a geographical entity that will be highlighted in the requested electronic map segment; render the electronic map segment based on the retrieved plurality of map data layers and wherein the data defines the boundary of the geographic entity, one or more of the retrieved plurality of layers being rendered over a rendering of an highlighted boundary of the geographic entity; and transmitting the rendered electronic card segment to the client device in response to the request.
[2]
The method of claim 1 further comprising receiving a search query identifying the geographic entity, wherein: the search query includes the request for an electronic map segment for a geographic region containing the geographic entity; and the highlighting of the geographical entity is performed based on an inclusion of the identification of the geographical entity in the search.
[3]
The method of claim 1 further comprising: receiving a search query identifying the geographic entity; identify the geographic region that contains the geographic entity in response to the search query; and wherein the identification of the geographical entity that will be highlighted in the requested electronic map segment is generated in response to the search.
[4]
The method of claim 3 further comprising: generating a set of one or more search results in response to the search query; generate an identification of a geographic region associated with each search result; and send the set of one or more search results and the identification of the associated geographic region to the client device, the request for the electronic map segment for the geographic region being received from the client device in response to at least sending the set of one or more search results and the identification of the associated geographic region to the client device.
[5]
The method of claim 4 wherein the request for the electronic map segment for the geographic region is received from the client device in further response to a selection at the client device of a specific search result.
[6]
The method of claim 1 further comprising: receiving a first search identifying the geographical entity, wherein: the identification of the geographical entity that will be highlighted in the requested electronic map segment is based on the identification of the geographical entity in the first search ; and the highlighting of the geographical entity is performed based on the inclusion of the identification of the geographical entity in the first search; receive a second search related to a geographic region that includes at least a portion of the geographic entity, the second search not containing an identification of the geographic entity; from the one or more content databases, retrieve a plurality of map data layers associated with the geographic region that includes at least a portion of the geographic entity in response to at least the second search query; render a second electronic map segment based on the retrieved plurality of map data layers, wherein the second electronic map segment does not include a highlighted boundary of the geographic entity; and transmitting the rendered second electronic card segment to the client device in response to at least the second search.
[7]
The method of claim 1 wherein the identification of a geographic entity that will be highlighted in the requested electronic map segment is contained in the request in response to a selection at the client device of an option to include highlighting requested geographic features.
[8]
The method of claim 1 wherein the data defining a boundary of the geographic entity contains data indicating an inaccurate boundary and rendering the highlighted boundary of the geographic entity represents a vague boundary.
[9]
The method of claim 1 wherein the rendered electronic map segment includes a plurality of map tiles, the method further comprising: assigning a source name to each of the plurality of map tiles, the source name for the map tiles containing at least part of the rendering of the highlighted border of the geographic entity distinguishes the map tile from a map tile with a corresponding geographic scope without the highlighted boundary of the geographic entity; cache the multitude of map tiles; a second request for an electronic map segment for the geographic region, wherein the second request does not include an identification of a geographical entity that will be highlighted in the requested electronic map segment; identify a subset of the cached map tiles, the subset containing map tiles that do not include a rendering of the highlighted boundary of the geographic entity; retrieve map tiles that do not include a rendering of the highlighted boundary of the geographical entity corresponding to the cached map tiles for the geographical region that contain a rendering of the highlighted boundary of the geographical entity; and present the cached map tiles in the identified subset and the retrieved map tiles to provide the requested electronic map segment.
[10]
The method of claim 1 wherein the rendering of the highlighted boundary of the geographic entity is at least one of a outline of an area corresponding to the geographic entity on the electronic map segment or a fill of an area corresponding to the geographic entity on the electronic map segment contains.
[11]
The method of claim 1 wherein the rendering of the highlighted boundary of the geographical entity includes a outline of road edges.
[12]
The method of claim 1 wherein the retrieved plurality of layers that are rendered over a rendering of a highlighted boundary of the geographic entity include at least one of tags, roads, icons, or geographic features.
[13]
A computer storage medium encoded with a computer program, the program comprising instructions which, when executed by a data processing device, cause the data processing device to perform operations comprising: a request for an electronic map segment for a geographic region, the request including an identification of a geographic entity , identified based on a search for the geographic entity submitted from a client device; in response to the request for the electronic map segment, retrieve a plurality of map data layers associated with the geographic region and data defining a boundary of the geographic entity; render the electronic map segment based on the retrieved plurality of map data layers and wherein the data defines the boundary of the geographic entity, one or more of the retrieved plurality of layers being rendered over a rendering of an highlighted boundary of the geographic entity; and transfer the rendered electronic card segment in response to the request.
[14]
The computer storage medium of claim 13 wherein the rendering of the highlighted boundary of the geographic entity has a different appearance in the rendered electronic map segment than renderings of the plurality of map data layers.
[15]
The computer storage medium of claim 13 wherein the program further comprises instructions which, when executed by a data processing device, cause the data processing device to perform operations comprising: receiving one or more uniform source locators identifying the geographic region, including identifying the geographic entity, and which indicate a boundary of the geographical entity that will be highlighted; and interpret the one or more uniform source locators to identify the geographic region, the plurality of map data layers, and the geographic entity.
[16]
The computer storage medium of claim 15, wherein the one or more uniform source locators are generated in response to a search query identifying the geographic entity.
[17]
The computer storage medium of claim 13 wherein the program further comprises instructions that, when executed by a data processing device, cause the data processing device to perform operations comprising: a second request received for a second electronic map segment for a second geographic region that includes at least a portion of the geographic entity, wherein the second geographic region is identified based on a search request submitted from a client device; in response to the second request for the second electronic map segment, retrieve a plurality of map data layers associated with the geographic region; render the second electronic map segment based on the retrieved plurality of map data layers without rendering a highlighted boundary of the geographic entity; and transmitting the rendered second electronic card segment in response to the second request.
[18]
The computer storage medium of claim 13 wherein the geographic entity comprises a first geographic entity and the program further comprises instructions which, when executed by a data processing device, cause the data processing device to perform operations comprising: a second request received for a second electronic card segment for a second geographic region containing at least a portion of the first geographic entity, the second request including an identification of a second geographic entity identified based on a search for the second geographic entity submitted from a client device; in response to the second request for the second electronic map segment, retrieve a plurality of map data layers associated with the second geographic region and data defining a boundary of the second geographic entity; render the second electronic map segment based on the retrieved plurality of map data layers and where the data defines the boundary of the second geographic entity, one or more of the retrieved plurality of layers being rendered over a rendering of an accented boundary of the second geographic entity without render an accented border of the first geographical entity; and transmitting the rendered second electronic card segment in response to the second request.
[19]
The computer storage medium of claim 13 wherein rendering the highlighted boundary of the geographic entity represents a vague boundary for the geographic entity.
[20]
A system comprising: one or more card request interpretation servers adapted to: receive a card request for an electronic map segment for a geographic region, the map request including an identification of a geographic entity identified based on a search related to the geographic entity submitted from a user device; and in response to the map request to request the electronic map segment, retrieval of a plurality of map data layers associated with the geographic region and data defining a boundary of the geographic entity; one or more map rendering servers adapted to render the electronic map segment based on the retrieved plurality of map data layers and the boundary of the geographic entity, one or more of the retrieved plurality of layers being rendered over a rendering of an highlighted boundary of the geographic entity; and one or more card front end servers adapted to transfer the rendered electronic card segment in response to the card request.
[21]
The system of claim 20 further comprising one or more map search servers adapted to: receive the search for the geographical entity submitted from a user device; identify a geographic region associated with the geographic entity in response to the search query; and generate the identification of the geographical entity in response to the search.
[22]
The system of claim 21 wherein the one or more map search servers are further adapted to generate a uniform source locator including the identification of the geographic region and the identification of the geographic entity.
[23]
The system of claim 20 further comprising a user device adapted to display the rendered electronic map segment.
[24]
The system of claim 23 wherein the user device is further adapted to transmit the card request to the card request interpretation server in response to receiving the uniform source locator.
[25]
The system of claim 24 wherein the user device is further adapted to initiate the search.
类似技术:
公开号 | 公开日 | 专利标题
US10274324B2|2019-04-30|Dynamic highlighting of geographic entities on electronic maps
US9279685B1|2016-03-08|Indicators for off-screen content
US10949468B2|2021-03-16|Indicators for entities corresponding to search suggestions
Beeharee et al.2006|A natural wayfinding exploiting photos in pedestrian navigation systems
KR101804602B1|2017-12-04|3d layering of map metadata
US9449333B2|2016-09-20|Online advertising associated with electronic mapping systems
US7599790B2|2009-10-06|Generating and serving tiles in a digital mapping system
US8490025B2|2013-07-16|Displaying content associated with electronic mapping systems
EP2560143B1|2020-05-06|Generating and serving tiles in a digital mapping system
US8504945B2|2013-08-06|Method and system for associating content with map zoom function
CN104221008B|2017-11-17|Map segment data are prefetched along route
US9239246B2|2016-01-19|Method, system, and computer program product for visual disambiguation for directions queries
AU2007290815B2|2011-09-15|Panoramic ring user interface
US20150185991A1|2015-07-02|Method and Apparatus for Supporting User Interactions with Non-Designated Locations on a Digital Map
US20080204462A1|2008-08-28|Map interface with removable path locations
KR101725886B1|2017-04-11|Navigation directions between automatically determined startin points and selected distinations
CN112287048A|2021-01-29|Map service processing method and device
CA2560560C|2011-08-02|Generating and serving tiles in a digital mapping system
US20130268540A1|2013-10-10|Biasing geocoding of queries
Yu et al.2004|Design and implementation of WebGIS-based digital Yang Zhou information system
US20080208464A1|2008-08-28|Map interface with location-specific executable instructions
Castellà2012|Pedestrian navigation application based on OpenStreetMap
Srivastava et al.0|Implementation of a complete Web based GIS Solution using Open Source Technologies
同族专利:
公开号 | 公开日
US10274324B2|2019-04-30|
US20120271848A1|2012-10-25|
US20150377630A1|2015-12-31|
NL2008690C2|2014-07-15|
US9069793B2|2015-06-30|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US20090027418A1|2007-07-24|2009-01-29|Maru Nimit H|Map-based interfaces for storing and locating information about geographical areas|
WO2009064996A2|2007-11-16|2009-05-22|Urban Mapping, Inc.|Geocoding based on neighborhoods and other uniquely defined informal spaces or geographical regions|
US6282362B1|1995-11-07|2001-08-28|Trimble Navigation Limited|Geographical position/image digital recording and display system|
US5742922A|1996-02-12|1998-04-21|Hyundai Motor Company|Vehicle navigation system and method for selecting a route according to fuel consumption|
US5767795A|1996-07-03|1998-06-16|Delta Information Systems, Inc.|GPS-based information system for vehicles|
US6597983B2|1996-08-22|2003-07-22|Wgrs Licensing Company, Llc|Geographic location multiple listing service identifier and method of assigning and using the same|
JPH10281790A|1997-04-08|1998-10-23|Aisin Aw Co Ltd|Route search device, navigation apparatus and medium on which computer program for navigation processing is stored|
JP4141007B2|1998-03-18|2008-08-27|俊雄 築城|Navigation device|
US6163749A|1998-06-05|2000-12-19|Navigation Technologies Corp.|Method and system for scrolling a map display in a navigation application|
US6178380B1|1998-10-22|2001-01-23|Magellan, Dis, Inc.|Street identification for a map zoom of a navigation system|
JP5109212B2|2001-05-01|2012-12-26|ソニー株式会社|Navigation device, information display device, object generation method, and storage medium|
JP2003075167A|2001-09-04|2003-03-12|Sony Corp|Navigation device, method of displaying map and image display device|
US6975999B2|2002-01-14|2005-12-13|First Data Corporation|Methods and systems for managing business representative distributions|
US7054741B2|2002-02-11|2006-05-30|Landnet Corporation|Land software tool|
US7103854B2|2002-06-27|2006-09-05|Tele Atlas North America, Inc.|System and method for associating text and graphical views of map information|
US7076505B2|2002-07-11|2006-07-11|Metrobot Llc|Method, apparatus, and computer program product for providing a graphical user interface with a linear map component|
US20040044469A1|2002-09-03|2004-03-04|Thorsten Bender|Displaying road maps|
US20050034075A1|2003-06-05|2005-02-10|Ch2M Hill, Inc.|GIS-based emergency management|
US7949642B2|2004-10-12|2011-05-24|Wendy W Yang|System and method for managing and presenting entity information|
JP4642497B2|2005-02-10|2011-03-02|クラリオン株式会社|Navigation device|
US20070064018A1|2005-06-24|2007-03-22|Idelix Software Inc.|Detail-in-context lenses for online maps|
JP4059919B2|2005-12-07|2008-03-12|松下電器産業株式会社|Route information display device and route information display method|
US7616217B2|2006-04-26|2009-11-10|Google Inc.|Dynamic exploration of electronic maps|
US7925982B2|2006-09-01|2011-04-12|Cheryl Parker|System and method of overlaying and integrating data with geographic mapping applications|
US8386478B2|2007-03-07|2013-02-26|The Boeing Company|Methods and systems for unobtrusive search relevance feedback|
US8483947B2|2007-04-25|2013-07-09|Research In Motion Limited|Bitmap array for optimally distributing map data content to wireless communications devices|
WO2008156600A1|2007-06-18|2008-12-24|Geographic Services, Inc.|Geographic feature name search system|
JP4926891B2|2007-08-30|2012-05-09|株式会社日立製作所|Geographic information system and geographic information management method|
US8108416B2|2007-10-31|2012-01-31|Yahoo! Inc.|System and method for updating a search results page in response to a user map interaction|
US20090132646A1|2007-11-16|2009-05-21|Iac Search & Media, Inc.|User interface and method in a local search system with static location markers|
US8175803B2|2007-12-06|2012-05-08|Alpine Electronics, Inc.|Graphic interface method and apparatus for navigation system for providing parking information|
CN102027325B|2008-06-25|2014-08-06|通腾科技股份有限公司|Navigation apparatus and method of detection that a parking facility is sought|
US8666652B2|2008-09-30|2014-03-04|Sas Institute Inc.|System and method for running stored statistical processes using a web-based graphical information system|
US20100082242A1|2008-10-01|2010-04-01|Park Jong Am|System and method for intuitive poi map search|
EP2338028A4|2008-10-06|2012-11-14|Telecomm Systems Inc|Probabilistic reverse geocoding|
US8239399B2|2009-05-14|2012-08-07|Microsoft Corporation|Providing tools for navigational search query results|
US8996307B2|2009-09-15|2015-03-31|HERE Global B. V.|Navigation system and methods regarding disputed territories|
US8799074B2|2010-01-14|2014-08-05|Goldstream Publishing Inc.|Methods and apparatus for performing enhanced queries for items such as maps and geospatial data|
US20120072287A1|2010-09-17|2012-03-22|Microsoft Corporation|Using location for determining relevance between queries and advertisements|
NL2008690C2|2011-04-25|2014-07-15|Google Inc|Dynamic highlighting of geographic entities on electronic maps.|US8788588B2|2006-05-03|2014-07-22|Samsung Electronics Co., Ltd.|Method of providing service for user search, and apparatus, server, and system for the same|
US8484059B2|2006-10-17|2013-07-09|At&T Intellectual Property I, L.P.|Methods, systems, and products for surveying facilities|
US8255379B2|2009-11-10|2012-08-28|Microsoft Corporation|Custom local search|
US10134150B2|2010-08-10|2018-11-20|Monotype Imaging Inc.|Displaying graphics in multi-view scenes|
NL2008690C2|2011-04-25|2014-07-15|Google Inc|Dynamic highlighting of geographic entities on electronic maps.|
US20120310523A1|2011-06-03|2012-12-06|Microsoft Corporation|Customizable route planning|
JP5859771B2|2011-08-22|2016-02-16|ソニー株式会社|Information processing apparatus, information processing system information processing method, and program|
US8671106B1|2012-05-23|2014-03-11|Google Inc.|Indicators for entities corresponding to search suggestions|
US9429435B2|2012-06-05|2016-08-30|Apple Inc.|Interactive map|
US9269125B2|2013-03-15|2016-02-23|Yahoo! Inc.|Visualizing regions characterized by labeled measurements|
CN104142926A|2013-05-06|2014-11-12|北京四维图新科技股份有限公司|Method and device for processing electronic map|
US9471959B2|2013-05-15|2016-10-18|Google Inc.|Water color gradients on a digital map|
US9672224B2|2014-03-15|2017-06-06|Urban Engines, Inc.|Solution for highly customized interactive mobile maps|
WO2016036769A2|2014-09-02|2016-03-10|Apple Inc.|Communicating mapping application data between electronic devices|
US9275074B1|2014-10-03|2016-03-01|Tip Vyspots, LLC Vy|Systems and methods for content placement, retrieval and management based on geolocation and other parameters|
CN104318768B|2014-10-27|2017-06-06|杭州智诚惠通科技有限公司|Self adaptation transport information tile map generation system and method based on Hadoop|
CN104378424A|2014-11-13|2015-02-25|青岛龙泰天翔通信科技有限公司|Method and system for server terminal to manage client terminal in distributed mode|
US10482553B2|2014-11-13|2019-11-19|Plm, Llc|Geographic information management systems and methods|
CN105868189B|2015-01-19|2018-12-28|高德软件有限公司|A kind of electronic map spatial index method for building up and device|
US11204946B2|2015-02-26|2021-12-21|Red Hat, Inc.|Finding objects in a key-based data structure by their approximate location|
US9665924B2|2015-04-01|2017-05-30|Microsoft Technology Licensing, Llc|Prioritized requesting of mapping layers|
FR3038090B1|2015-06-24|2017-08-04|F4|INTERACTIVE DEVICE WITH THREE DIMENSIONAL DISPLAY|
FR3038995B1|2015-07-15|2018-05-11|F4|INTERACTIVE DEVICE WITH CUSTOMIZABLE DISPLAY|
FR3042620B1|2015-10-16|2017-12-08|F4|INTERACTIVE WEB DEVICE WITH CUSTOMIZABLE DISPLAY|
US20170235452A1|2016-02-16|2017-08-17|Bank Of America Corporation|Integrated geolocation resource transfer platform|
US10593074B1|2016-03-16|2020-03-17|Liberty Mutual Insurance Company|Interactive user interface for displaying geographic boundaries|
JP6740898B2|2016-12-28|2020-08-19|カシオ計算機株式会社|Map recording device, program and map recording method|
JP6642415B2|2016-12-28|2020-02-05|カシオ計算機株式会社|Map display device, program and map display method|
CN108573000A|2017-03-14|2018-09-25|阿里巴巴集团控股有限公司|A kind of method for exhibiting data, device, system and electronic equipment|
US20200208996A1|2017-08-25|2020-07-02|Stroly Inc.|Information processing apparatus, information processing method, and program|
CN109074757B|2018-07-03|2021-11-09|达闼机器人有限公司|Method, terminal and computer readable storage medium for establishing map|
CN109598273A|2018-12-03|2019-04-09|中国矿业大学|A kind of city entity boundary recognition methods of fusion surface temperature and building index|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US201161478759P| true| 2011-04-25|2011-04-25|
US201161478759|2011-04-25|
[返回顶部]